<?php
	class CorrespondencesController extends AppController
	{
		var $name = 'Correspondences';
		var $helpers = array('Html', 'Time', 'javascript');
		var $aux=array();
		var $layout = 'menu';


		/*Desc: Lleva a cabo la asociacion entre el documento de trabajo y aquellos
		  seleccionados en la lista de documentos sin archivar.
		*/
		function efectuar_asociacion ($id)
		{
			//Los documentos seleccionados son pasados por parametro a traves del metodo
			//post. Por ejemplo, si el documento con id XX es seleccionado para ser
			//asociado, entonces existe una entrada 'docuXX' en el array de parametros.
			if (!empty($this->params))
			{
				$lista = $this->params['form'];

				if (!empty($lista))
				{
					$lista_id_documentos_para_asociar = array();
					$i = 0;

					//Ahora debo separar los id de los documentos que fueron
					//seleccionados para asociar.
					//Para eso debe separarse los numeros de los campos docuXX
					//recibidos por parametros.
					while (!is_null(key($lista)))
					{
						if (preg_match('/^docu([0-9]+)$/',key($lista)))
						{
							//En este caso responde a un documento seleccionado.
							//Entonces, lo agrego a la lista de ids de
							//documentos sin archivar.
							$lista_id_documentos_para_asociar[$i] = substr(key($lista), 4, strlen(key($lista)) - 4);
							$i++;
						}

						next ($lista);
					}

					foreach ($lista_id_documentos_para_asociar as $docu)
					{
						//Efectuo la asociacion.
						$this->data['Correspondence']['id'] = 0;
						$this->data['Correspondence']['id_documento_entrante'] = $id;
						$this->data['Correspondence']['id_documento_saliente'] = $docu;

						if (!$this->Correspondence->save($this->data['Correspondence'], false))
						{
							$this->set('error', 'Asociacion invalida.');
						}
					}
				}
				else
				{
					$this->set('error', 'Accion invalida.');
				}
			}
			else
			{
				$this->set('error', 'Accion invalida.');
			}
		}
	}
?>
